import request from "../../request/request"
Page({
  data: {
    // 左侧菜单
    leftMenus: [],
    // 右侧内容列表
    rightGoods: [],
    // 当前的菜单索引
    currentIndex: 0,
    // 右侧商品滚动条位置
    scrollTop: 0
  },
  // 全局的内部数据, wxml中找不到 Cates
  // js内部要使用的全局数据
  Cates: [],
  onLoad() {
    // 获取缓存中的数据,默认值是空字符串
    const cates = wx.getStorageSync('cates');
    if (!cates) {
      // console.log("没数据,发送请求");
      this.getCates()
    } else {
      // console.log("有数据");
      // 判断数据有没有过期 20min   测试:cates.time > 10 * 1000   10s
      if (Date.now() - cates.time > 10 * 20000) {
        // console.log("数据过期,重新发送请求,获取数据和存储数据");
        this.getCates();
      } else {
        // console.log("没过期");
        this.Cates = cates.list;
        this.setData({
          leftMenus: this.Cates.map(v => v.cat_name),
          rightGoods: this.Cates[this.data.currentIndex].children
        })
      }
    }
  },
  // 发送异步请求
  getCates() {
    request({
      url: "categories"
    }).then(res => {
      console.log(res);
      this.Cates = res.data.message;
      // 给左侧菜单数组赋值
      this.setData({
        leftMenus: this.Cates.map(v => v.cat_name),
        rightGoods: this.Cates[this.data.currentIndex].children
      })
      // 把数据存到缓存中
      wx.setStorageSync("cates", {
        list: this.Cates,
        time: Date.now()
      })
    })
  },
  // 左侧菜单的点击事件
  handleMenuTap(e) {
    const currentIndex = e.currentTarget.dataset.index;
    this.setData({
      currentIndex,
      // 右侧内容
      rightGoods: this.Cates[currentIndex].children,
      // 商品滚动条高度的位置
      scrollTop: 0
    })
  }

})